package com.happiness.base.properties;

import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

import java.io.Serializable;

/**
 * jwt token配置信息
 * */
@Configuration
@ConfigurationProperties(prefix = "jwt")
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel("jwt token配置信息")
public class JwtSecurityProperties  implements Serializable {

    /** Request Headers ： Authorization */
    private String header;

    /** 令牌签发人，一般用作集群时判断用户登录机器 */
    private String issuer;

    /** 令牌前缀，最后留个空格 Bearer */
    private String tokenStartWith;

    /** 用户信息存入jwt的key */
    private String auth;

    /**返回过期时间，转化为毫秒级 */
    public Long getExpiration() {
        return expiration * 1000;
    }

    /** Base64对该令牌进行编码 */
    private String secret;

    /** 令牌过期时间 此处单位/毫秒 */
    private Long expiration;

    /**返回令牌前缀 */
    public String getTokenStartWith() {
        return tokenStartWith + " ";
    }
}

